﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using BCCommon.OAEnums.WorkflowActive;
using BCDto.OA.WorkflowActive.WorkflowActivityStep;
using BCCommon.Extensions;

namespace BCDto.OA.WorkflowActive.WorkflowActivity
{
	/// <summary>
	/// 工作流活动
	/// </summary>
	public class WorkflowActivityDto
	{
		/// <summary>
		/// 工作流活动Id
		/// </summary>		
		public long WorkflowActivityId { get; set; }
		/// <summary>
		/// 工作流分类Id
		/// </summary>		
		public long WorkflowCategoryId { get; set; }
		/// <summary>
		/// 工作流模板Code
		/// </summary>		
		public string TemplateCode { get; set; }
		/// <summary>
		/// 工作流模板名称
		/// </summary>		
		public string TemplateName { get; set; }
		/// <summary>
		/// 工作流模板图标
		/// </summary>		
		public string TemplateIcon { get; set; }
		/// <summary>
		/// 工作流模板描述
		/// </summary>		
		public string TemplateDescription { get; set; }
		/// <summary>
		/// 分类Code
		/// </summary>		
		public string CategoryCode { get; set; }
		/// <summary>
		/// 分类名称
		/// </summary>		
		public string CategoryName { get; set; }
		/// <summary>
		/// 工作流Code
		/// </summary>		
		public string WorkflowCode { get; set; }
		/// <summary>
		/// 工作流名称
		/// </summary>		
		public string WorkflowName { get; set; }
		/// <summary>
		/// 是否为基本工作流
		/// </summary>		
		public bool IsBaseWorkflow { get; set; }
		/// <summary>
		/// 公司Id
		/// </summary>		
		public int? CompanyId { get; set; }
		/// <summary>
		/// 部门Id
		/// </summary>		
		public int? DepartmentId { get; set; }
		/// <summary>
		/// 人员Id
		/// </summary>		
		public long? AdminId { get; set; }
		/// <summary>
		/// 其他人员Id
		/// </summary>		
		public long? OtherUserId { get; set; }
		/// <summary>
		/// 发起人姓名
		/// </summary>		
		public string AuthorFullName { get; set; }
		/// <summary>
		/// 发起人角色类型
		/// </summary>		
		public OAAuthorRoleType RoleType { get; set; }
		/// <summary>
		/// 发起人角色类型
		/// </summary>		
		public string RoleTypeStr { get { return this.RoleType.GetDescriptionString(); } }
		/// <summary>
		/// 活动状态(已就绪，进行中，已完成，已关闭)
		/// </summary>		
		public OAActivityStatus ActivityStatus { get; set; }
		/// <summary>
		/// 活动状态(已就绪，进行中，已完成，已关闭)
		/// </summary>		
		public string ActivityStatusStr { get { return this.ActivityStatus.GetDescriptionString(); } }
		/// <summary>
		/// 创建人Id
		/// </summary>		
		public long CreateAdminId { get; set; }
		/// <summary>
		/// 创建者
		/// </summary>		
		public string CreateAdminName { get; set; }
		/// <summary>
		/// 创建时间
		/// </summary>		
		public DateTime CreateTime { get; set; }
		/// <summary>
		/// 完成时间
		/// </summary>		
		public DateTime? CompleteTime { get; set; }
		/// <summary>
		/// 关闭时间
		/// </summary>		
		public DateTime? CloseTime { get; set; }
		/// <summary>
		/// 关闭人姓名
		/// </summary>		
		public string ClosePersonName { get; set; }
		/// <summary>
		/// 关闭备注
		/// </summary>		
		public string CloseRemark { get; set; }
		/// <summary>
		/// 步骤列表
		/// </summary>
		public List<WorkflowActivityStepDto> Steps { get; set; }
	}
}

